package com.wgz.medicalmanagement.domain.dto.ai;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 聊天消息DTO
 * 用于表示AI聊天中的单条消息
 *
 * @author medical
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChatMessage {
    
    /**
     * 消息角色，可以是"system", "user", "assistant"
     */
    private String role;
    
    /**
     * 消息内容
     */
    private String content;
    
    /**
     * 创建系统消息
     * 
     * @param content 消息内容
     * @return 系统消息
     */
    public static ChatMessage systemMessage(String content) {
        return ChatMessage.builder()
                .role("system")
                .content(content)
                .build();
    }
    
    /**
     * 创建用户消息
     * 
     * @param content 消息内容
     * @return 用户消息
     */
    public static ChatMessage userMessage(String content) {
        return ChatMessage.builder()
                .role("user")
                .content(content)
                .build();
    }
    
    /**
     * 创建助手消息
     * 
     * @param content 消息内容
     * @return 助手消息
     */
    public static ChatMessage assistantMessage(String content) {
        return ChatMessage.builder()
                .role("assistant")
                .content(content)
                .build();
    }
} 